// 头文件保护宏，防止头文件被重复包含
#ifndef PICTUREBUBBLE_H
#define PICTUREBUBBLE_H

// 包含自定义的 BubbleFrame 类的头文件
#include "bubbleframe.h"
// 包含 QHBoxLayout 类的头文件，用于水平布局管理
#include <QHBoxLayout>
// 包含 QPixmap 类的头文件，用于处理图像
#include <QPixmap>

/**
 * @brief PictureBubble 类继承自 BubbleFrame 类，用于显示图片气泡
 *
 * 该类负责管理和显示带有图片的聊天气泡，图片可以根据聊天角色进行布局
 */
class PictureBubble : public BubbleFrame
{
    // 声明该类使用 Qt 的信号与槽机制
    Q_OBJECT
public:
    /**
     * @brief 构造函数，创建一个 PictureBubble 对象
     *
     * @param picture 要显示的图片，使用 QPixmap 类型
     * @param role 聊天角色，用于确定气泡的布局和样式
     * @param parent 父级 QWidget 指针，默认为 nullptr
     */
    PictureBubble(const QPixmap &picture, ChatRole role, QWidget *parent = nullptr);
};

#endif // PICTUREBUBBLE_H
